Specifying Data Objects with Initial Algebras
نویسنده
چکیده
i This study presents a systematic approach to specifying data objects with the help of initial algebras. The primary aim is to describe the setup to be found in modern functional programming languages such as Haskell and ML, although it can also be applied to more general situations. The 'initial algebra semantics' philosophy has been propagated by the ADJ group consisting of J. example in [6], and is now well-established. The approach presented here can be seen as pushing this philosophy a stage further and consists of taking the following four steps. (1) Data types are specified by a signature and the 'fully-defined' data objects are then described by the carrier sets in an initial algebra. (2) The initial algebra is extended to include 'undefined' and 'partially defined' data objects, leading to what is known as a bottomed algebra. The correct bottomed algebra depends on the language being considered. However, it can always be defined to be an initial object in a class of bottomed algebras determined by a simple structure which we call a head type. This setup can deal with both lazy and strict languages as well as anything in between. (3) The third step is based on the observation that there is a unique family of partial orders defined on the carrier sets of the initial bottomed algebra such that each partial order can reasonably be interpreted as meaning 'being less-defined than'. This leads to what are called ordered algebras; these have partially ordered carrier sets and monotone operators. The initial bottomed algebra turns out to also be an initial object in an appropriate class of ordered algebras. (4) The final step involves what is called the initial (or ideal) completion of a partially ordered set. This is used to complete the ordered algebra to end up with a continuous algebra having complete partially ordered carrier sets and continuous operators. The resulting continuous algebra is again an initial object in the appropriate class of continuous algebras. The bottomed, ordered and continuous algebras which occur here are uniquely determined up to isomorphism by the signature and the head type, both of which are essentially finite structures in any practical case. The account includes a treatment of polymorphism, although to simplify things the approach is a bit more restrictive than that to be found in languages such as Haskell or ML. Moreover, the polymorphic types here do not involve …
منابع مشابه
On lifting of biadjoints and lax algebras
Given a pseudomonad $mathcal{T} $ on a $2$-category $mathfrak{B} $, if a right biadjoint $mathfrak{A}tomathfrak{B} $ has a lifting to the pseudoalgebras $mathfrak{A}tomathsf{Ps}textrm{-}mathcal{T}textrm{-}mathsf{Alg} $ then this lifting is also right biadjoint provided that $mathfrak{A} $ has codescent objects. In this paper, we give general results on lifting of biadjoints. As a consequence, ...
متن کاملA Clustering Approach by SSPCO Optimization Algorithm Based on Chaotic Initial Population
Assigning a set of objects to groups such that objects in one group or cluster are more similar to each other than the other clusters’ objects is the main task of clustering analysis. SSPCO optimization algorithm is anew optimization algorithm that is inspired by the behavior of a type of bird called see-see partridge. One of the things that smart algorithms are applied to solve is the problem ...
متن کاملSemantic Constructions for Hidden Algebra
Hidden algebra is a behavioural algebraic specification formalism for objects. It captures their constructional aspect, concerned with the initialisation and evolution of their states, as well as their observational aspect, concerned with the observable b ehaviour of such states. When attention is restricted to the observational aspect, final/cofree constructions provide suitable denotations fo...
متن کاملSpecifying Properties of Basic LOTOS Processes Using Temporal Logic
Temporal logic can be used to describe desirable properties of a system in a more abstract, less constructive, manner than when using process algebra alone. This is a well researched area for other process algebras, but not so for LOTOS. This paper is an initial attempt to fill that gap by investigating the use of the modal -calculus with Basic LOTOS, laying the groundwork for current work on F...
متن کاملLocal Specification of Distributed Families of Sequential Objects
1 I n t r o d u c t i o n In abstract da ta type theory, higher-order model classes like isomorphism classes of many:sorted algebras are specified with (conditional) equational logic tha t does not per se allow for specifying such classes. The trick is to employ some general higher-order principle to specifiable classes. A popular principle of this kind is initiality, i.e., restriction to initi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/0909.3596 شماره
صفحات -
تاریخ انتشار 2009